Computer systems may store a variety of valuable information. For example, a computer system used for financial services may store a variety of confidential data pertaining to a financial institution as well as confidential data pertaining to clients of the financial institution. Similarly, a computer system used to provide an on-line retail service may store a variety of confidential data pertaining to customers of the on-line retail service, e.g. names, addresses, credit card numbers, etc.
A computer system may employ a login process that enables authentic users of the computer system to gain access to the computer system while preventing unauthorized parties from gaining access to the computer system. For example, a computer system used in an on-line banking service may employ a login process that enables account holders to access their accounts on-line.
A computer system may authenticate a login by prompting a user for a username and a password and then determining whether the password is the correct password for that username. Authenticating logins using passwords may require that users memorize relatively complex passwords and/or change passwords relatively frequently in order to prevent an unscrupulous party from wrongfully gaining access to accounts by guessing or stealing passwords. Unfortunately, the burdens of memorizing complex passwords and/or memorizing new passwords relatively frequently may increase user frustration and dissuade users from employing computer-based services.